/**
 * generator函数是一种异步编程的解决方案
 * 形式上，Generator 函数是一个普通函数，但是有两个特征。
 * 一是，function关键字与函数名之间有一个星号；
 * 二是，函数体内部使用yield表达式，定义不同的内部状态（yield在英语里的意思就是“产出”）。

 */


{
    //错误的写法,应该把操作写在函数里，外面只需要调用next
    
    function* aGenerator(){
        yield 'a';
        yield 'b';
        return 'c';
    }

    const a=aGenerator();
    console.log(a.value);
    //a.next();
    console.log(a.next().value);
    //console.log(a);
    console.log(a.next().value);
    console.log(a.next().value);
    console.log(a.next().value);
    //console.log(a);
    for(let val of a){
        console.log(val);
    }

}

{

}